package id.laskarmedia.opnvpn_flutter.handler;


import androidx.annotation.NonNull;

import io.flutter.plugin.common.EventChannel;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;

/**
 * Interface definition for handling VPN events.
 */
public interface VPNEventHandler {

     /**
      * Handles the method call from Flutter using MethodChannel.
      *
      * @param call   The method call received from Flutter.
      * @param result The result object to send the method call result back to Flutter.
      */
     void handler(@NonNull MethodCall call, @NonNull MethodChannel.Result result);

     /**
      * Configures the EventSink for sending VPN events through EventChannel.
      *
      * @param eventSink The EventSink object to send VPN events.
      */
     void config(EventChannel.EventSink eventSink);
}
